`ifndef AHBL_MST_SINGLE_READ32_APB_SLV_NRDY_SV
`define AHBL_MST_SINGLE_READ32_APB_SLV_NRDY_SV


class ahbl_mst_single_read32_apb_slv_nrdy extends ahbl2apb_base_test;

	ahbl_mst_single_read32_seq 	ahbl_seq;
	apb_slv_nrdy_seq						apb_seq;

	`uvm_component_utils(ahbl_mst_single_read32_apb_slv_nrdy)

	function new(string name = "ahbl_mst_single_read32_apb_slv_nrdy", uvm_component parent = null);
		super.new(name, parent);
	endfunction : new

	function void build_phase(uvm_phase phase);
		super.build_phase(phase);

		ahbl_seq 	= ahbl_mst_single_read32_seq::type_id::create("ahbl_seq");
		apb_seq		= apb_slv_nrdy_seq::type_id::create("apb_seq");
	endfunction : build_phase

	task main_phase(uvm_phase phase);
		super.main_phase(phase);

		phase.raise_objection(this);
		#100ns;
		ahbl_seq.start(env.ahbl_mst_agt.sequencer);
		apb_seq.start(env.apb_slv_agt.sequencer);
		phase.drop_objection(this);
	endtask : main_phase

endclass : ahbl_mst_single_read32_apb_slv_nrdy


`endif // AHBL_MST_SINGLE_READ32_APB_SLV_NRDY_SV
